#ifndef __ARPMANAGER_H__
#define __ARPMANAGER_H__

// ----------------------------------------------------------------------------
//
// ARPProtect version 1.0
//
// http://www.snoopspy.com, http://www.netlab.co.kr
//
// Copyright (c) NetworkLab Corporation All rights reserved
//
// ----------------------------------------------------------------------------

#include "ARPCommon.h"
#include "ARPObject.h"
#include "ARPCollect.h"
#include "ARPCheck.h"
#include "ARPAlarm.h"
#include "ARPCure.h"

namespace arp {

	// ----------------------------------------------------------------------------
	// ARPManager
	// ----------------------------------------------------------------------------
	class ARPManager : public ARPObject
	{
	public:
		ARPManager(void *owner = NULL);
		virtual ~ARPManager();
	protected:
		virtual bool doOpen();
		virtual bool doClose();
	public:
		ARPCollect  *arpCollect;
		ARPCheck    *arpCheck;
		ARPAlarm    *arpAlarm;
		ARPCure     *arpCure;
        protected:		
		static void onMyCollect(void *owner, void *sender, Ip ip, Mac mac);
		static void onMyCheck(void *owner, void *sender, Ip ip, Mac goodMac, Mac badMac);
	};

};
#endif  __ARPMANAGER_H__